Jenkins學習(2) 新增節點

Jenkins服務器不只可以用於服務器本機的構建,還可以將其他台電腦作為Jenkins Agent(節點)進行控制。

新增節點

這邊介紹新增節點的兩種方式:

  • Launch slave agents via SSH

    用於控制Linux系統主機

  • 通过Java Web启动代理 (需另外開啟)

    用於控制Windows系統主機

Liunx

這邊的環境是Ubuntu系統

Ubuntu IP: 192.168.8.32
User: mario
passwd: **

  1. 進入新增節點頁面

    http://<jenkins_url>/computer

  2. 新增節點

    依序點選輸入即可

  3. 設置節點信息

  • 開發構建數

    最多執行的項目數,超過就等待構建

  • 遠程工作目錄(必填)

    如果在項目中沒有切換目錄,默認是以這個位置作為工作目錄。

  • 標籤

    當有多個節點時,可用標籤指定哪個節點執行。

  • 用法

    尽可能的使用这个节点

    若不指定節點,將會找目前空閒的主機進行構建

    只允许运行绑定到这台机器的Job

    只支持有指定標籤的項目進行構建

  • 啟動方式(必填)

    先選擇Launch agent via execution of command on the master,在選點擊”ADD”按鈕加入節點主機信息。

  1. 成功新增節點

Windows

Windows系統在連接Jenkins服務器之前,需先開啟TCP port for JNLP agents端口讓Windows系統用戶連接。

  1. 開啟端口

    進入全局安全配置頁面,找到代理選擇指定端口

    因為我是用Docker建置,在建置時有額外開出50005端口,所以這邊選擇指定端口,若是自己搭建的Jenkins選擇隨機獲取也是可以的。

  2. 新增節點

    增加代理端口後,在新增節點就會多一個通过Java Web启动代理,Windows系統用戶就這個來加入節點。

  3. 節點狀態 - 未在線

    節點是新增了,但是顯示X(未在線)

    由於通过Java Web启动代理並不能像SSH連接電腦節點,因此還需要手動在Agent進行連接

  1. agent 連接 Jenkins

    頁面提示的兩個方法都可以連接,這邊使用第一個方法Launch agent from browser

    • 點擊Launch 下載slave-agent.jnlp

    • 執行slave-agent.jnlp

      這個檔案可以直接運行,如果遇到問題,可以先嘗試安裝或更新Java版本。

    • 成功連接

    • 狀態正常

錯誤筆記

Linux連接節點失敗

1
2
3
4
5
Linux Wonderful 4.4.0-104-generic #127-Ubuntu SMP Mon Dec 11 12:16:42 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Installing JDK jdk-8u144-oth-JPR
Downloading JDK from http://download.oracle.com/otn/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz
Oracle now requires Oracle account to download previous versions of JDK. Please specify your Oracle account username/password.
java.io.IOException: Could not find any known supported java version in [java, /usr/bin/java, /usr/java/default/bin/java, /usr/java/latest/bin/java, /usr/local/bin/java, /usr/local/java/bin/java, /home/mario/workspace/jdk/bin/java], and we also failed to install JDK as a fallback

要安裝java

1
2
3
sudo apt-get update
sudo apt-get install -y default-jre
sudo apt-get install -y default-jdk

安裝後連接正常

小結

Windows作業在連接上比較麻煩,而Linux可以直接透過SSH連接上非常方便。